Skip to content

Conversation

@ampelectrecuted
Copy link
Contributor

@ampelectrecuted ampelectrecuted commented Jan 9, 2026

Per the docs:

Mesh lets you communicate with other projects running in the same browser or in TurboWarp Desktop, using special versions of variables and broadcasts. This allows you to for example, create a game that talks to another project running at the same time.

This was actually a real feature in Scratch 1.4.

TODO: ws integration (though that can be added at a later time).

8to16 added 2 commits January 9, 2026 21:52
…into mesh

* 'mesh' of ssh://github.com/ampelectrecuted/twextensions:
  [Automated] Update translations 2026-01-03 (TurboWarp#2378)
  SharkPool/Camera: Fix critical regression from previous commit (TurboWarp#2376)
  SharkPool/Camera V2 -- Fix hidden sprites not receiving camera updates (TurboWarp#2372)
  [Automated] Update translations 2025-12-31 (TurboWarp#2374)
  text.js -- Add array of regex matches block (TurboWarp#2306)
  Revert "SharkPool/CameraV2 -- Fix hidden sprites not receiving camera updates" (TurboWarp#2371)
  cursor: translate cursor menu (TurboWarp#2076)
  SharkPool/CameraV2: Fix hidden sprites not receiving camera updates (TurboWarp#2359)
  local-storage: fix it generally not working (TurboWarp#2368)
  [Automated] Update translations 2025-12-20 (TurboWarp#2362)
  [Automated] Update translations 2025-12-17 (TurboWarp#2360)
  [Automated] Update translations 2025-12-13 (TurboWarp#2358)
  build(deps): bump @turbowarp/types from `c54f2cc` to `938c3ab` (TurboWarp#2355)
@github-actions github-actions bot added the pr: new extension Pull requests that add a new extension label Jan 9, 2026
@ampelectrecuted
Copy link
Contributor Author

Gonna have a shot at making an image for this, but it's probably gonna look ugly (the one i used for the oscillators PR, which i closed because sp made a better pr, was just a weird heartbeat line, that was it)

@ohgodwhy2000
Copy link

Gonna have a shot at making an image for this, but it's probably gonna look ugly (the one i used for the oscillators PR, which i closed because sp made a better pr, was just a weird heartbeat line, that was it)

I am a graphic designer, I can try and design one for you if you'd like.

@ampelectrecuted
Copy link
Contributor Author

Gonna have a shot at making an image for this, but it's probably gonna look ugly (the one i used for the oscillators PR, which i closed because sp made a better pr, was just a weird heartbeat line, that was it)

I am a graphic designer, I can try and design one for you if you'd like.

ok

@ohgodwhy2000
Copy link

ok

This one took about 10-20 minutes.

Mesh

If you want any edits, just ask; I feel like this fits in with the rest of the Scratch extension banners. Since this extension is advertised to work without the internet, I might change the icon.

@ampelectrecuted
Copy link
Contributor Author

ok

This one took about 10-20 minutes.

Mesh

If you want any edits, just ask; I feel like this fits in with the rest of the Scratch extension banners. Since this extension is advertised to work without the internet, I might change the icon.

i'd like it to look more like this (rough inkscape mockup so it won't look nearly as good as anything on the gallery)
image

@ampelectrecuted
Copy link
Contributor Author

or maybe something like

           project
            |
        Hello world!
        /           \
    project       project

@ampelectrecuted ampelectrecuted marked this pull request as ready for review January 10, 2026 02:13
@ohgodwhy2000
Copy link

i'd like it to look more like this (rough inkscape mockup so it won't look nearly as good as anything on the gallery) image

That's a good design; just one question before I design V2: I'm guessing your extension can communicate with multiple projects at a time? This sounds a bit stupid, but I'm sure you get what I mean.

@ampelectrecuted
Copy link
Contributor Author

@kx1bx1 because of the nature of broadcastchannel, yes, though it's not something worth promoting

@ohgodwhy2000
Copy link

@kx1bx1 because of the nature of broadcastchannel, yes, though it's not something worth promoting

Okay, I won't implement it in the logo then. Working on it now!

@ohgodwhy2000
Copy link

@8to16 I'm somewhat disappointed with my output. I might try to remake it, but this is what I have so far.

Mesh

@ampelectrecuted
Copy link
Contributor Author

gonna see what i can do to try and add:

  • broadcast mesh () and wait
  • returning values, something i have long begged to be in the vanilla broadcast system (in scratch not just tw)

@ampelectrecuted
Copy link
Contributor Author

ampelectrecuted commented Jan 10, 2026

@Brackets-Coder review?

@Brackets-Coder
Copy link
Contributor

Brackets-Coder commented Jan 10, 2026

@Brackets-Coder review?

Busy at the moment, sorry. I'll try tomorrow afternoon

@ampelectrecuted
Copy link
Contributor Author

@Brackets-Coder

Copy link
Contributor

@Brackets-Coder Brackets-Coder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a simple review, I haven't gone through all of the code and tested all of the blocks yet.
A few points to consider:

  • The "remove a variable" button did not seem to work for me. I tried removing all block references to the variable in both projects and tried removing the variable in both projects, it did not disappear
  • You may want to add the ability to rename messages and variables, as you can do in Turbowarp
  • Removing a message did work, but it left behind references to the message
  • Removing messages or variables should either:
    1. Tell the user they must remove all references first (like my-blocks), or
    2. Warn the user that all references will be deleted, and ask for "are you sure" consent (like variables)

Other than that, the overall cross-project communication system in both messages and variables to work great, nice job!
While this is a unique concept, I'm struggling to see use cases as it's limited to only the devices browser, but I'm sure somebody will get more creative than I am!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: new extension Pull requests that add a new extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants